// 条件查询时日期参数格式修改
export function addDateRange(params, dateRange) {
  var search = params
  if (dateRange.length !== 0) {
    search.params = {
      beginTime: dateRange[0],
      endTime: dateRange[1]
    }
  }
  return search
}

/**
 * 构造树型结构的数据
 * @param {*} data 数据源
 * @param {*} id id字段
 * @param {*} parentId 父节点字段
 * @param {*} children 子节点字段
 * @param {*} rootId 根节点字段
 */
export function handleTree(data, id, parentId, children, rootId) {
  id = id || 'id'
  parentId = parentId || 'parentId'
  children = children || 'children'
  rootId = rootId || '0'
  // 对源数据深度克隆
  const cloneData = JSON.parse(JSON.stringify(data))
  const treeData = cloneData.filter(father => {
    const branchArr = cloneData.filter(child => {
      return father[id] === child[parentId]
    })
    branchArr.length > 0 ? father.children = branchArr : ''
    return father[parentId] === rootId
  })
  return treeData !== '' ? treeData : data
}

/**
 * 获取数据字典中对应的dictLabel显示值
 * @param {*} data 数据字典
 * @param {*} value 实际值
 */
export function selectDictLabel(data, value) {
  var action = []
  Object.keys(data).map(key => {
    if (data[key].dictValue === ('' + value)) {
      action.push(data[key].dictLabel)
      return false
    }
  })
  return action.join('')
}

// 表单属性重置
export function resetForm(refName) {
  this.$nextTick(() => {
    if (this.$refs[refName]) {
      this.$refs[refName].resetFields()
    }
  })
}

// 根据数据字典的实际值，获取对应的type（通常用来显示不同状态的颜色）
export function selectShowTypeByDictInfo(data, value) {
  var action = []
  Object.keys(data).map(key => {
    if (data[key].dictValue === ('' + value)) {
      action.push(data[key].dictLabel)
      return false
    }
  })
  return action.join('')
}
